プログラミングゼミ課題(初級編)
1)
A=imread("idata1.bmp");
figure
imshow(A)
title('Original Image')
h=ones(3,3)/9;
A2=imfilter(A,h);
figure
imshow(A2)
title('3×3Averaging filter')
h2=ones(5,5)/25;
A3=imfilter(A,h2);
imshow(A3)
title('5×5Averaging filter')
2)
A4=medfilt2(A);
imshow(A4)
title('3×3Median filter')
A5=medfilt2(A,[5 5]);
imshow(A5)
title('5×5Median filter')
B=imread("idata2.bmp");
imshow(B)
title('Original data')
B2=medfilt2(B);
imshow(B2)
title('3×3Median filter')
B3=medfilt2(B,[5 5]);
imshow(B3)
title('5×5Median filter')
C=imread("idata3.bmp");
imshow(C)
title('Original data')
C2=medfilt2(C);
imshow(C2)
title('3×3Median filter')
C3=medfilt2(C,[5 5]);
imshow(C3)
title('5×5Median filter')
ゼミ課題
D=imread("idata4.bmp")
D = 512×512 の uint8 行列
127 123 125 120 0 0 0 255 255 255 129 0 129 255 127 255 255 0 129 131 127 255 255 255 255 132 132 255 255 133 255 255 137 129 134 255 0 255 136 255 136 0 0 255 0 255 255 131 0 134 255 255 255 122 0 0 0 0 127 128 131 0 255 255 0 127 0 128 131 0 0 255 0 132 255 135 131 131 255 255 0 0 0 255 132 0 131 255 130 0 255 133 255 0 255 0 139 130 0 131 255 255 128 0 255 0 255 0 255 131 0 126 0 255 128 0 255 0 0 255 129 129 255 133 255 0 0 0 0 131 0 255 132 255 0 136 255 132 255 132 0 255 255 138 255 255 255 255 255 133 255 0 255 255 255 255 255 0 0 0 255 132 255 130 255 0 255 0 0 255 0 0 255 132 0 0 255 255 0 0 255 133 0 255 0 255 134 134 255 0 255 132 255 0 129 0 0 0 0 132 255 255 128 0 255 0 0 0 131 127 255 0 127 128 130 129 0 255 0 0 255 0 0 130 255 132 255 0 255 255 135 131 134 134 0 255 0 132 255 255 0 255 0 132 255 133 0 255 0 255 0 255 126 0 128 255 0 255 255 255 255 131 0 255 0 0 130 128 0 255 129 130 255 0 255 132 255 129 0 130 137 0 134 0 255 0 0 137 255 133 255 255 255 0 0 130 133 129 132 0 255 255 126 124 0 255 128 126 255 0 0 127 128 0 0 255 0 255 0 0 134 0 133 137 255 0 132 136 130 0 0 255 0 134 133 255 0 134 0 0 255 255 132 0 0 255 133 0 134 136 255 0 255 0 121 255 255 126 128 0 0 129 131 255 255 131 127 0 0 255 133 255 0 0 0 255 255 0 0 255 0 136 0 0 129 132 0 0 255 135 255 0 255 139 255 132 134 131 0 131 255 128 0 128 125 123 255 255 128 0 0 0 0 132 255 255 134 255 0 0 129 0 255 255 255 0 255 255 0 133 131 131 0 0 130 134 255 130 0 0 255 255 130 255 0 255 255 0 0 0 0 0 127 0 0 0 128 255 0 255 255 128 255 0 130 133 255 0 129 129 129 134 0 0 0 255 255 255 133 255 0 0 0 131 135 0 136 255 0 255 255 132 255 133 255 255 255 0 255 0
imshow(D)
E=imread("rdata4.bmp")
E = 512×512 の uint8 行列
127 123 125 120 126 123 127 128 125 129 129 132 129 132 127 120 121 126 129 131 127 135 126 128 131 132 132 132 134 133 132 131 137 129 134 131 136 129 136 131 136 130 135 129 136 133 133 131 134 134 128 126 128 122 125 125 122 129 127 128 131 128 129 131 128 127 128 128 131 127 128 128 135 132 131 135 131 131 135 129 132 137 132 131 132 133 131 135 130 128 136 133 135 131 134 130 139 130 133 131 128 124 128 126 127 120 128 129 128 131 135 126 130 129 128 129 128 130 131 127 129 129 134 133 135 134 131 136 131 131 129 133 132 133 132 136 130 132 132 132 133 132 132 138 130 131 134 132 139 133 124 127 128 129 121 128 129 128 129 133 130 132 128 130 128 125 128 128 128 128 131 127 129 132 133 136 133 134 133 132 130 133 127 137 122 129 134 134 139 130 135 132 131 137 129 136 134 135 138 132 126 125 128 126 126 125 127 128 131 127 128 136 127 128 130 129 125 129 126 128 127 128 135 130 128 132 137 132 132 132 135 131 134 134 130 135 130 132 135 133 137 134 134 132 136 133 135 137 133 141 125 127 126 126 128 128 128 126 130 129 128 131 132 128 130 131 130 128 126 128 129 130 131 137 134 132 137 129 137 130 137 127 134 133 130 132 129 137 130 133 135 137 133 131 140 130 133 129 132 137 127 127 126 124 120 127 128 126 128 131 134 127 128 128 128 130 131 130 128 128 134 131 133 137 131 135 132 136 130 138 132 134 133 134 133 135 133 134 131 138 131 136 132 131 135 134 133 133 134 136 123 135 120 128 121 123 126 126 128 133 131 129 131 129 130 131 127 128 132 129 133 128 134 128 132 131 136 134 134 132 134 136 129 132 129 132 131 133 130 135 130 136 127 139 130 132 134 131 134 131 126 128 124 128 125 123 128 130 128 132 128 131 129 132 127 128 134 126 133 129 129 132 138 129 129 137 131 134 131 133 131 131 132 134 130 134 136 130 135 134 129 135 130 132 130 131 135 135 138 130 124 128 127 124 127 121 128 130 132 133 133 128 128 129 130 133 127 130 129 129 129 134 128 134 131 131 135 137 133 132 133 127 132 131 135 133 136 135 130 132 136 132 131 133 127 132 131 136 135 136
imshow(E)
%ごま塩ノイズを白に統一して3×3で高輝度の一番低い値にする。
k=ones(512,2)*255;
D=[k D k];
b=ones(2,516)*255;
D=[b;D;b];
n=find(~D);
D(n)=255;
fun=@(x) min(x(:));
D2=nlfilter(D,[3 3],fun);
D2=D2(3:514,3:514)
D2 = 512×512 の uint8 行列
123 123 120 120 120 255 255 127 127 127 128 129 129 127 127 127 127 128 128 127 127 127 132 132 132 131 131 131 131 133 133 137 129 129 129 131 131 130 130 130 133 133 133 255 255 139 130 130 130 131 123 123 120 120 120 255 255 127 127 127 126 126 126 127 127 127 127 128 128 127 127 127 129 132 132 131 131 131 131 131 131 132 129 129 129 131 131 130 130 130 132 133 133 138 138 139 130 130 130 131 255 128 122 122 122 255 255 127 127 127 126 126 126 128 127 127 127 128 128 129 129 129 129 132 132 131 131 131 131 131 131 132 132 132 132 131 131 130 130 130 132 132 132 129 129 129 130 130 130 131 255 128 128 128 255 255 255 131 127 127 126 126 126 127 128 128 129 255 255 129 129 129 129 130 130 132 132 255 131 131 131 131 131 132 134 134 132 132 132 132 132 132 132 129 129 129 133 255 132 132 255 126 126 126 128 128 255 131 127 127 127 127 127 127 128 129 128 128 128 129 129 129 130 130 130 132 129 129 129 130 130 131 131 134 134 134 132 132 132 133 132 132 132 129 129 129 129 129 129 132 255 126 124 124 124 128 126 126 126 127 127 127 127 127 128 129 128 128 128 129 129 129 130 130 130 132 129 129 129 130 130 131 131 133 133 133 132 132 132 133 133 132 132 132 130 130 129 129 129 132 255 126 124 121 121 121 126 126 126 128 127 127 127 128 131 127 127 127 128 129 129 129 130 133 132 132 129 129 129 130 130 134 134 129 129 129 132 134 133 133 133 132 132 132 130 130 129 129 129 131 128 126 124 121 121 121 123 126 126 128 127 127 127 128 131 127 127 127 255 129 129 129 133 133 137 132 132 130 130 130 131 131 131 129 129 129 130 130 130 135 135 130 130 130 132 132 131 131 131 131 128 127 127 121 121 121 123 126 126 128 128 128 128 130 130 127 127 127 129 129 129 129 134 255 255 255 255 133 133 131 131 131 131 129 129 129 130 130 130 135 132 130 130 130 132 132 131 131 131 131 128 127 127 125 123 123 123 128 128 128 128 128 128 130 130 130 131 129 128 128 128 129 134 134 134 134 255 133 133 131 131 131 131 130 130 130 130 130 130 131 131 130 130 130 133 255 141 141 137 137
imshow(D)
imshow(D2)
%ここまで
D3=medfilt2(D2,[5 5],'symmetric')
D3 = 512×512 の uint8 行列
123 123 122 122 122 127 127 127 127 127 127 127 127 127 127 127 127 127 127 128 128 129 129 131 131 131 131 131 131 131 131 131 131 131 131 130 130 130 130 130 132 133 133 133 133 130 130 130 130 131 123 123 123 123 128 128 127 127 127 127 127 127 127 127 127 127 128 128 128 128 128 129 129 131 131 131 131 131 131 131 131 131 131 131 131 131 131 131 131 132 132 132 133 133 133 130 130 130 131 131 126 126 123 126 128 128 128 127 127 127 127 127 127 127 127 127 128 128 128 128 129 129 129 130 131 131 131 131 131 131 131 131 131 131 131 131 131 131 132 132 132 132 132 132 130 130 130 130 131 131 128 126 126 126 128 128 128 127 127 127 127 127 127 127 127 128 128 128 128 129 129 129 129 130 130 131 131 131 131 131 131 131 131 132 132 132 132 132 132 132 132 132 132 132 130 129 130 130 131 131 128 128 126 126 126 127 127 127 127 127 127 127 127 127 127 128 128 128 129 129 129 129 130 130 130 131 131 131 130 131 131 131 131 132 132 132 132 132 132 132 132 132 132 130 130 129 129 130 131 131 128 128 126 126 126 126 126 127 127 127 127 127 127 127 128 128 128 128 129 129 129 129 130 130 130 130 130 130 130 130 131 131 131 131 132 132 132 132 132 132 132 132 132 130 130 130 129 130 131 131 127 126 126 124 124 124 126 126 127 127 127 127 127 127 128 128 128 128 128 129 129 129 130 132 132 132 130 130 130 130 131 131 131 131 131 130 132 132 132 132 132 132 132 130 130 130 130 131 131 131 127 127 125 124 123 123 126 126 126 127 127 128 128 128 128 128 128 128 128 129 129 129 130 132 133 133 132 131 130 131 131 131 131 131 130 130 130 130 132 132 132 132 132 130 131 131 131 131 131 131 127 126 125 122 122 122 123 126 127 128 128 128 128 128 128 129 129 128 128 129 129 129 133 134 134 134 133 133 131 131 131 131 131 130 130 130 130 130 131 131 131 131 132 132 132 132 132 131 131 131 126 126 125 122 121 121 123 126 127 128 128 128 128 128 128 129 129 128 128 129 129 129 134 134 134 134 133 133 131 131 131 131 130 130 130 130 130 130 131 131 131 131 132 132 132 132 132 132 133 131
imshow(D3)
E=double(E);
D3=double(D3);
MSE=E-D3;
MSE=MSE.^2/numel(MSE);
MSE=sum(MSE);
MSE=sum(MSE)
MSE = 275.9451